# #给定一个整数数组 nums 和一个整数目标值 target，请你在该数组中找出 和为目标值 target  的那 两个 整数，并返回它们的数组下标。

# 你可以假设每种输入只会对应一个答案。但是，数组中同一个元素在答案里不能重复出现。#

#暴力
# class Solution:
#     def twoSum(self, nums: List[int], target: int) -> List[int]:
#         size = len(nums)
#         for i in range(size):
#             for j in range(i+1,size):
#                 if nums[i] + nums[j] == target:
#                     return[i,j]
#         return []

#哈希
class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        size = len(nums)
        numD = dict()
        for i in range(size):
            if target - nums[i] in numD:
                return [numD[target - nums[i]],i]
            numD[nums[i]] = i
        return []
